Sensor arrays for exercise equipment and methods to operate the same

ABSTRACT

Sensor arrays for exercise equipment and methods to operate the same are disclosed. An example method comprises receiving outputs from an array of sensors each of which is configured to detect a position of a portion of an exercise machine, and determining at the exercise machine an exercise range of motion based on the sensor outputs.

FIELD OF THE DISCLOSURE

This disclosure relates generally to exercise equipment and, more particularly, to sensor arrays for exercise equipment and methods to operate the same.

BACKGROUND

Currently, exercise equipment and/or exercise machines rely on a person who is exercising (i.e., an exerciser), an observer and/or personal trainer to determine a weight used for an exercise routine and to count repetitions and/or sets. Further, to record the exercise parameters (e.g., weight, repetitions, sets, etc.) for future reference, the exerciser typically utilizes, for example, paper and pencil or relies on their memory. Such manual methods are inherently prone to error both during the exercising and during the recording. For example, the exerciser may record the incorrect number of repetitions if they lost count while exercising.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an illustration of an example exercise machine.

FIGS. 2 and 3 illustrate example manners of implementing a portion of the example exercise machine of FIG. 1.

FIG. 4 illustrates an example manner of implementing a sensor array for an example exercise machine employing an elastic resistive load.

FIGS. 5A and 5B illustrate an example operation of the example sensor array of FIG. 3.

FIG. 6 illustrates an example manner of implementing the example processor and display unit of FIG. 1.

FIG. 7 illustrates an example front panel for the example processor and display unit of FIGS. 1 and/or 6.

FIGS. 8 and 9 illustrate flowcharts representative of example processes which may be carried out to implement the example processor and display unit of FIGS. 1 and/or 6.

DETAILED DESCRIPTION

FIG. 1 depicts an example exercise machine 100 constructed in accordance with the teachings of the invention. To facilitate exercising, the example exercise machine 100 of FIG. 1 includes handles 105 against which a person pushes and a stack of weights 110. The example stack of weights 110 of FIG. 1 includes any of a variety of mechanisms such as, for example, a movable pin 112, to select a number of weight plates from the stack of weights 110 for the current exercise. In the illustrated example of FIG. 1, the example movable pin 112 selects a portion of the example stack of weights 110 to move upward in response to the person pushing against the handles 105.

To detect movement of the selected portion of the stack of weights 110, the example exercise machine 100 of FIG. 1 includes a linear array of sensors 115. The example array of sensors 115 of FIG. 1 includes a plurality of sensors, one of which is indicated with reference numeral 120 in FIG. 1. In the illustrated example, sensors of the example array of sensors 115 are positioned adjacent and opposite the resting position of each weight plate, and at equally spaced locations above the example stack of weights 110 up to the highest travel position attainable by the top weight plate of the example stack of weights 110. The example sensor array 115 is enclosed in, covered and/or attached to any variety of housing and/or mounting bracket (not shown). In the example of FIG. 1, the housing is the mechanical means by which the example sensor array 115 is held in place relative to the example stack of weights 110 and substantially conceals and/or obscures the example sensor array 115 from the exerciser.

The sensors of the example sensor array 115 of FIG. 1 (e.g., the example sensor 120) can be any variety of sensor capable to detect the proximate presence of a metal weight plate such as, for example, proximity sensors, Hall-Effect sensors and/or reed switches. Additionally and/or alternatively, as discussed below in connection with FIG. 3, each weight plate can have an attached magnet positioned to activate magnetic sensors (e.g., the example sensor 120) of the example array of sensors 115 as the weight plate moves into a position aligned with one of the magnetic sensors. Moreover, optical sensors could alternatively or additionally be used. Each of the sensors of the example sensor array 115 of FIG. 1 may provide one of two output signals. For example, at each time instant, each sensor may be adapted to provide an active output signal (e.g., a positive voltage signal) when a weight plate and/or attached magnet is nearby or an inactive output signal (e.g., a zero voltage signal) when no weight plate and/or attached magnet is nearby. That is, each sensor is in an active state (i.e., activated) when a weight plate and/or magnet is nearby and in an inactive state (i.e., deactivated) when a weight plate and/or magnet is not nearby. Alternatively, each sensor may provide a resistance that changes to indicate the presence or proximity of a weight plate and/or magnet attached to a weight plate. For example, each sensor may provide a characteristic increase or decrease in resistance, an open/closed circuit, etc. in response to the presence of a weight plate and/or its associated magnet. In general, each sensor is in an active state (i.e., activated) causing, for example, a positive voltage signal, a low resistance, a closed circuit when a weight plate and/or magnet is nearby or in an inactive state (i.e., deactivated) causing, for example, a zero voltage signal, a high resistance, an open circuit when a weight plate and/or its magnet is not nearby. Thus, the example sensor array 115 of FIG. 1 provides a plurality of sensor array output signals, one for each sensor of the example sensor array 115.

To determine and/or provide (e.g., display) exercise information and/or exercise parameters, the example exercise machine 100 of FIG. 1 includes a processor and display unit 125. The example processor and display unit 125 of FIG. 1 processes the plurality of sensor array output signals received from the example sensor array 115 to determine and/or display exercise parameters (e.g., selected weight, range of motion, repetitions, sets, etc.). The example processor and display unit 125 of FIG. 1 displays the exercise parameters on a display associated with and/or implemented by the example processor and display unit 125. Methods for determining exercise parameters based on the sensor array output signals are discussed below in connection with FIGS. 3, 5A, 5B, 8 and 9.

The example processor and display unit 125 of FIG. 1 additionally includes any variety of means by which the exerciser may be identified such as, for example, a keypad and/or a touch screen keypad to enter an identification number, a radio frequency identification (RFID) tag reader, a memory card reader, etc. Based upon the identification of the exerciser, the example processor and display unit 125 of FIG. 1 may obtain target exercise parameters (e.g., a weight to be lifted, a target number of repetitions per set, a target number of sets, etc.) from a remote exercise routine server 130 via any variety of network interface such as, for example, a wireless local area network (LAN) 132 as illustrated in FIG. 1. The example processor and display unit 125 of FIG. 1 displays the target exercise parameters for viewing by the exerciser and then, as the exerciser exercises, the processor and display unit 125 displays the target exercise parameters versus actual exercise parameters determined from the output signals of the array of sensors 115 (i.e., sensor outputs signals). Upon completion of exercising, the example processor and display unit 125 of FIG. 1 provides the actual exercise parameters to the remote server 130 for later recall and/or analysis by the exerciser and/or a personal trainer. An example implementation of the example processor and display unit 125 of FIG. 1 is discussed below in connection with FIG. 6. An example front panel for the example processor and display unit 125 is discussed below in connection with FIG. 7.

Exercise equipment networks and methods to operate the same are discussed in U.S. patent application Ser. No. 11/199,764 filed on Aug. 8, 2005, U.S. patent application Ser. No. 11/247,416 filed on Oct. 11, 2005, and U.S. patent application Ser. No. 11/247,430 filed on Oct. 11, 2005. U.S. patent application Ser. Nos. 11/199,764, 11/247,416 and 11/247,430 are hereby incorporated by reference in their entireties.

While FIG. 1 illustrates an example usage of the example sensor array 115 for the example exercise machine 100 to determine exercise parameters, it will be readily appreciated by persons of ordinary skill in the art that a same, similar and/or different sensor array may be utilized to detect exercise activity for other types of exercise machines and/or exercise equipment. For example, an example sensor array for an exercise machine employing an elastic resistive load is illustrated in FIG. 4. Further, while the example sensor array 115 of FIG. 1 is located in front of the example weight stack 110, persons of ordinary skill in the art will readily appreciate that the example sensor array 115 could alternatively be located behind or on either side of the example weight stack 110. Still further, one (i.e., linear), two (2) and/or three (3) dimensional sensor arrays may be used. For example, a two dimensional sensor array could be used to detect exercise motion along an arc where the radius of the arc depends upon the arm length of the exerciser.

FIG. 2 illustrates an example manner of implementing a portion of the example exercise machine 100 of FIG. 1. Illustrated in FIG. 2 is a portion 205 of the example weight stack 110 of FIG. 1 consisting of the top five (5) weight plates. Also illustrated is a portion of an example sensor array 210. In the example portion illustrated in FIG. 2, the example array of sensors 210 is positioned to the side of the example weight stack 110.

As is conventional, in the illustrated example of FIGS. 1 and 2, the weight plates have substantially equal weights, and an exercise weight is set by selecting a subset of the weight plates. For example, if each weight plate weighs ten (10) pounds (lbs.), selecting the top 3 weight plates result in an exercise weight of thirty (30) lbs. Further, each weight plate is marked with the cumulative weight of the weight plate itself summed with the weight of the weight plates above it in the example weight stack 110. For example, the third weight plate is marked “30” indicating that the top three weight plates taken together result in an exercise weight of 30 lbs.

To detect the nearby presence, absence or proximity of weight plates, the example array of sensors 210 of FIG. 2 includes one sensor positioned opposite each at rest weight plate (e.g., a sensor 220 positioned opposite the weight plate marked “30”), and additional sensors equally spaced above the at rest example weight stack 110 (e.g., a sensor 225). The sensors of the example sensor array 210 of FIG. 2 may be any variety of sensors capable to detect a presence or absence of a nearby metal weight plate such as, for example, proximity sensors, Hall-Effect sensors and/or reed switches. Like FIG. 1, each sensor has an output (e.g., an output 230 of the example sensor 225) that may provide one of two output signals. For example, at each time instant, each sensor may be adapted to provide an active output signal (e.g., a positive voltage signal) when a weight plate and/or attached magnet is nearby or an inactive output signal (e.g., a zero voltage signal) when no weight plate and/or attached magnet is nearby. That is, each sensor is in an active state (i.e., activated) when a weight plate and/or magnet is nearby and in an inactive state (i.e., deactivated) when a weight plate and/or magnet is not nearby. Alternatively, each sensor may provide a resistance that changes to indicate the presence or proximity of a weight plate and/or magnet attached to a weight plate. For example, each sensor may provide a characteristic increase or decrease in resistance, an open/closed circuit, etc. in response to the presence of a weight plate and/or its associated magnet. In general, each sensor is in an active state (i.e., activated) causing, for example, a positive voltage signal, a low resistance, a closed circuit when a weight plate and/or magnet is nearby or in an inactive state (i.e., deactivated) causing, for example, a zero voltage signal, a high resistance, an open circuit when a weight plate and/or its magnet is not nearby.

In the examples of FIGS. 1 and 2, the example sensors of the sensor array are mounted to any variety of substrate 232 such as, for example, a printed circuit board (PCB). The substrate 232 also provides routing of the sensor output signals from the example array of sensors 210 to the example processor and display unit 125 of FIG. 1. The substrate 232 is also used to mount the sensor array 210 to a housing 235 that mechanically holds the sensor array 210 in position and/or alignment relative to the example weight stack 110.

In the illustrated example of FIG. 2, the example movable pin 112 selects a subset of the weight plates (e.g., the weight plates marked “10”, “20” and “30” in FIG. 2) of the example weight stack 110 that move in response to a lifting force provided by a cable 240. In the examples of FIGS. 1 and 2, the example cable 240 of FIG. 2 moves upwards in response to a force exerted against the handles 105 of FIG. 1, lifting the weight plates selected with the movable pin 112.

FIG. 3 illustrates another example manner of implementing a portion of the example exercise machine 100 of FIG. 1. The example portion illustrated in FIG. 3 is similar to the example portion illustrated in FIG. 2 and, thus, the description of like portions of FIG. 3 will not be repeated here. Instead, the interested reader is referred back to the corresponding description of FIG. 2. To facilitate this process, like elements have been numbered with like reference numerals in FIGS. 2 and 3.

To facilitate detection of the weight plates of the example weight stack 110 of FIG. 3, magnets are attached to each weight plate as illustrated in FIG. 3 (e.g., a magnet 305 attached to the weight plate marked “30”). To detect the presence, absence and/or proximity of weight plates of the example weight stack 110 of FIG. 3 using the associated attached magnets (e.g., the example magnet 305), an example array of sensors 310 includes one sensor (e.g., a sensor 320) positioned opposite each at rest weight plate magnet (e.g., the example magnet 305), and additional sensors spaced equally above the example weight stack 110 (e.g., a sensor 325). The sensors of the example sensor array 310 of FIG. 3 may be any variety of magnetic sensor capable to detect a presence or absence of a nearby magnet (e.g., the magnet 305 attached to the weight plate marked “30”). Like the examples of FIGS. 1 and 2, each sensor has an output (e.g., an output 330 of the example sensor 325) that may provide one of two output signals. For example, at each time instant, each sensor may be adapted to provide an active output signal (e.g., a positive voltage signal) when a weight plate and/or attached magnet is nearby or an inactive output signal (e.g., a zero voltage signal) when no weight plate and/or attached magnet is nearby. That is, each sensor is in an active state (i.e., activated) when a weight plate and/or magnet is nearby and in an inactive state (i.e., deactivated) when a weight plate and/or magnet is not nearby. Alternatively, each sensor may provide a resistance that changes to indicate the presence or proximity of a weight plate and/or magnet attached to a weight plate. For example, each sensor may provide a characteristic increase or decrease in resistance, an open/closed circuit, etc. in response to the presence of a weight plate and/or its associated magnet. In general, each sensor is in an active state (i.e., activated) causing, for example, a positive voltage signal, a low resistance, a closed circuit when a weight plate and/or magnet is nearby or in an inactive state (i.e., deactivated) causing, for example, a zero voltage signal, a high resistance, an open circuit when a weight plate and/or its magnet is not nearby.

FIG. 4 illustrates an example manner of implementing a portion of an example exercise machine employing an elastic resistive load. To provide the elastic resistive load, the example of FIG. 4 includes one or more elastic members (e.g., elastic members 405 and 410) attached at one end to a movable member 415 and at the other end to a fixed member of the exercise machine (not shown). The example movable member 415 of FIG. 4 moves in response to a lifting force provided by a cable 420. In the example of FIG. 4, the example cable 420 of FIG. 4 moves upwards in response to a force exerted against, for example, the example handles 105 of FIG. 1. The example elastic members 405 and 410 of FIG. 4, as the example movable member 415 moves upwards, apply an increasing downward resistive force against the example movable member 415 and, thus, against the example handles 105. To create a resting position for the example movable member 415, the example of FIG. 4 includes fixed members 425 and 430 upon which the example movable member 415 rests.

To detect movement of the movable member 415, the example of FIG. 4 includes a magnet 440 mounted to the example movable member 415 and a sensor array 445 of which a portion is illustrated in FIG. 4. The example sensor array 445 of FIG. 4 includes one sensor positioned opposite the at rest position of the movable member 415 created by the fixed members 425 and 430 (e.g., a sensor 450), and additional sensors spaced equally above the sensor 450 (e.g., a sensor 455). The sensors of the sensor array 445 may be any variety of magnetic sensor capable to detect a presence or absence of the example magnet 440 attached to example movable member 415. Like the examples of FIGS. 1 and 2, each sensor has an output (e.g., an output 460 of the example sensor 455) that may provide one of two output signals. For example, at each time instant, each sensor may be adapted to provide an active output signal (e.g., a positive voltage signal) when a weight plate and/or attached magnet is nearby or an inactive output signal (e.g., a zero voltage signal) when no weight plate and/or attached magnet is nearby. That is, each sensor is in an active state (i.e., activated) when a weight plate and/or magnet is nearby and in an inactive state (i.e., deactivated) when a weight plate and/or magnet is not nearby. Alternatively, each sensor may provide a resistance that changes to indicate the presence or proximity of a weight plate and/or magnet attached to a weight plate. For example, each sensor may provide a characteristic increase or decrease in resistance, an open/closed circuit, etc. in response to the presence of a weight plate and/or its associated magnet. In general, each sensor is in an active state (i.e., activated) causing, for example, a positive voltage signal, a low resistance, a closed circuit when a weight plate and/or magnet is nearby or in an inactive state (i.e., deactivated) causing, for example, a zero voltage signal, a high resistance, an open circuit when a weight plate and/or its magnet is not nearby.

In the example of FIG. 4, the example sensors of the example sensor array 445 are mounted to any variety of substrate 462 such as, for example, a PCB. The substrate 462 provides routing of the sensor output signals from the example array of sensors 445 to, for example, the example processor and display unit 125 of FIG. 1. The substrate 462 is also used to mount the sensor array 445 to a housing 465 that mechanically holds the sensor array 445 in position and/or alignment relative to the travel path of the movable member 415.

FIGS. 3, 5A and 5B illustrate an example operation of the example sensor array 115 of FIGS. 1 and 3. To facilitate understanding of the example operation illustrated in FIGS. 3, 5A and 5B, like elements of FIGS. 3, 5A and 5B have been identified with identical reference numbers. FIG. 3 illustrates a resting position of the example weight stack 110, that is, where the selected weight plates (e.g., the weight plates marked “10”, “20” and “30”) are resting against the unselected remainder of the weight stack 110. In the resting position illustrated in FIG. 3, the magnet 305 activates the example magnetic sensor 320 causing an active (e.g., a positive voltage signal level) to be output by the sensor 320 (i.e., the sensor 320 is activated).

Turning to FIG. 5A, when an exerciser causes the selected weight plates to move upwards, the example magnetic sensor 320 becomes inactive (e.g., provides a substantially zero voltage output signal) because the example magnet 305 is no longer adjacent or proximate to the sensor 320. That is, the upwards movement of the selected weight plates causes a gap or space 502 between the selected weight plates and the remainder of the weight stack 110. The gap or space 502 adjacent to the sensor 320 causes the sensor 320 to become inactive (i.e., deactivated). Additionally, a magnetic sensor 505 is activated by a magnet 507 attached to the top weight plate (i.e., the weight plate marked “10”). In the examples of FIGS. 1, 3 and 5A, the example processor and display unit 125 of FIG. 1 uses the inactive output signal from the example sensor 320 to determine that three (3) weight plates are moving upward and, thus, in the illustrated examples, the exercise weight is thirty (30) lbs.

Continuing with FIG. 5B, the exerciser causes the selected weight plates to continuing moving upward. The further upwards movement of the selected weight plates causes a larger space or gap 508 and, thus, the sensors between the example sensors 320 and 505, inclusive, are all inactive, while additional magnetic sensors 510, 515 and 520 are activated by the magnets attached to the moving weight plates. In the examples of FIGS. 1, 3 and 5B, the example processor and display unit 125 of FIG. 1 uses the sensor array output signals to determine a range of exercise motion by determining the height to which the set of moving weight plates travels. For example, the highest sensor activated by a moving weight plate and/or a group of highest sensors activated by a group of moving weight plates can be used to determine the range of motion.

Alternatively or additionally, the example processor and display unit 125 of FIG. 1 uses a direction of sensor activations and deactivations to determine a direction of travel for the selected weight plates. For example, as illustrated by FIGS. 5A and 5B, sensors located higher on the sensor array were activated while lower sensors were deactivated indicating that the plates are moving downward. After a highest position is reached (e.g., as illustrated in FIG. 5B), the example processor and display unit 125 determines that sensors are being activated in the downwards direction (e.g., the weight stack 110 is returning from the state illustrated by FIG. 5B to the state illustrated in FIG. 5A) and, thus, the plates are moving downward. Continuing in this fashion, the example processor and display unit 125 of FIG. 1 counts repetitions of the exercise pattern illustrated by FIGS. 3, 5A and/or 5B.

Additionally, the example processor and display unit 125 of FIG. 1 detects a period of time in the resting position illustrated in FIG. 3 to determine a start of a new set of repetitions. The period of time can be a preset, user selectable and/or configurable time duration.

FIG. 6 is a schematic diagram of an example manner of implementing the example processor and display unit 125 of FIG. 1. To determine exercise parameters based on sensor array outputs signals, the example processor and display unit 125 of FIG. 6 includes a general purpose programmable processor 610. The example processor 610 of FIG. 6 executes coded instructions 615 present in a main memory (e.g., within a random access memory (RAM) 625 as illustrated and/or within a read only memory (ROM) 620). The example processor 610 may be any type of processing unit, such as a microprocessor from the AMD®, Sun® and/or Intel® families of microprocessors. The example processor 610 may execute, among other things, machine accessible instructions to perform the example processes of FIGS. 8 and/or 9 to determine exercise parameters from sensor array output signals.

The example processor 610 of FIG. 6 is in communication with the example main memory (including the ROM 620 and the RAM 625) via a bus 630. The example RAM 625 of FIG. 6 may be implemented by dynamic random access memory (DRAM), Synchronous DRAM (SDRAM), and/or any other type of RAM device, and the example ROM 620 of FIG. 6 may be implemented by flash memory and/or any other desired type of memory device. Access to the example memories 620 and 625 is typically controlled by a memory controller (not shown) in a conventional manner.

To receive sensor outputs signals from a sensor array, the example processor and display unit 125 of FIG. 1 includes any variety of conventional interface circuitry such as, for example, an external bus interface 635. For example, the external bus interface 635 may provide one input signal path (e.g., a semiconductor package pin) for each sensor of the sensor array. Additionally or alternatively, the external bus interface 635 may implement any variety of time multiplexed interface to receive outputs signal from the sensor array via fewer input signals.

To display information for viewing by an exerciser or personal trainer, the example processor and display unit 125 of FIG. 6 includes any variety of display 640. An example display 640 is discussed below in connection with FIG. 7.

To allow an exerciser to be identified, the example processor and display unit 125 of FIG. 6 includes any variety of user identification interface 645. Example interfaces 645 include a keypad, an RFID tag reader, a universal serial bus (USB) memory interface, etc. For example, an exerciser may identify themselves by passing an associated device containing an RFID tag (e.g., a membership card) near an RFID tag reader 645. When the membership card is detected and/or identified by the RFID tag reader 645, the example RFID tag reader 645 of FIG. 6 provides to the example processor 610, for example, the exerciser's identification number (e.g., membership number) read and/or otherwise determined from the membership card.

To allow the example processor and display unit 125 to interact with a remote server (e.g., the example exercise routine server 130 of FIG. 1), the example processor and display unit 125 of FIG. 6 includes any variety of network interface 650 such as, for example, a wireless LAN interface in accordance with, for instance, the Institute of Electronics and Electrical Engineers (IEEE) 802.11b, 802.11 g, 802.15.4 (a.k.a. ZigBee) etc. standards. The example processor 610 of FIG. 6 uses the example network interface 650 to obtain target exercise parameters for an identified user and/or to provide exercise parameters determined while the identified user exercises. Exercise equipment networks and methods to operate the same are discussed in U.S. patent application Ser. No. 11/199,764 filed on Aug. 8, 2005, U.S. patent application Ser. No. 11/247,416 filed on Oct. 11, 2005, and U.S. patent application Ser. No. 11/247,430 filed on Oct. 11, 2005.

To allow the example processor and display unit 125 to generate sounds, the example processor and display unit 125 includes any variety of speaker 655. The example processor 610 of FIG. 6 can causes any variety of sounds such as, for example, the current repetition count, to be produced by the example speaker 655 of FIG. 6 while a user is exercising.

Although an example processor and display unit 125 has been illustrated in FIG. 6, processor and display units may be implemented using any of a variety of other and/or additional devices, components, circuits, modules, etc. Further, the devices, components, circuits, modules, elements, etc. illustrated in FIG. 6 may be combined, re-arranged, eliminated and/or implemented in any of a variety of ways. For simplicity and ease of understanding, the following discussion references the example processor and display unit 125 of FIG. 6, but any processor and display unit could be used.

FIG. 7 illustrates an example front panel that may be used to implement the example processor and display unit 125 of FIGS. 1 and/or 6. To identify an exerciser, the example front panel of FIG. 7 includes an RFID tag reader area 705, below which the example RFID tag reader 645 of FIG. 6 is located. When the exerciser, for example, passes their membership card over the RFID tag reader area 705, the example RFID tag reader 645 of FIG. 6 obtains the exerciser's identification number and/or other information from the membership card.

To display information for viewing by an exerciser, the example front panel of FIG. 7 includes the example display 640 of FIG. 6. If a user is identified by the example processor and display unit 125, the example display 640 of FIG. 7 displays the exerciser's name as indicated with reference numeral 710.

The example display 640 of FIG. 7 displays determined exercise parameters as a user exercises such as, for example, a range of motion display 715, a number of repetitions in the current set 720, the weight being lifted 725, and/or the number of sets 730. Further, if the exerciser is identified by the example processor and display unit 125, the example processor and display unit 125 of FIG. 6 obtains from a server (e.g., the exercise routine server 130 of FIG. 1) target exercise parameters for the identified user. The example processor and display unit 125 of FIG. 6 displays the target exercise parameters for the exerciser. Example target exercise parameters include a target number of repetitions 720B, a target exercise weight 725B, and/or a target number of sets 730B as illustrated in FIG. 7.

FIGS. 8 and 9 illustrate flowcharts representative of example process that may be carried out to implement the example processor and display unit 125 of FIGS. 1 and/or 6. The example processes of FIGS. 8 and/or 9 may be executed by a processor, a controller and/or any other suitable processing device. For example, the example processes of FIGS. 8 and/or 9 may be embodied in coded instructions stored on a tangible medium such as a flash memory, or RAM associated with a processor (e.g., the example processor 610 of FIG. 6). Alternatively, some or all of the example flowcharts of FIGS. 8 and/or 9 may be implemented using an application specific integrated circuit (ASIC), a programmable logic device (PLD), a field programmable logic device (FPLD), discrete logic, hardware, firmware, etc. Also, some or all of the example flowcharts of FIGS. 8 and/or 9, the example processor 610, the example interface 635, the example display 640, the example user identifying interface 645 and/or the example network interface 650 may be implemented manually or as combinations of any of the foregoing techniques, for example, a combination of firmware, software and/or hardware. Further, although the example processes of FIGS. 8 and 9 are described with reference to the flowcharts of FIGS. 8 and 9, persons of ordinary skill in the art will readily appreciate that many other methods of implementing the example processor and display unit 125 of FIG. 1 may be employed. For example, the order of execution of the blocks may be changed, and/or some of the blocks described may be changed, eliminated, sub-divided, or combined. Additionally, persons of ordinary skill in the art will appreciate that the example processes of FIGS. 8 and/or 9 be carried out sequentially and/or carried out in parallel by, for example, separate processing threads, processors, devices, circuits, etc.

The example process of FIG. 8 begins with a processor and display unit (e.g., the example processor and display unit 125 of FIGS. 1 and/or 6) waiting for an associated exercise machine (e.g., the example machine 100 of FIG. 1) to be activated (block 805). Activation can occur in any variety of ways, such as, for example, an exercise passing their membership card over an RFID tag reader area (e.g., the example RFID tag reader area 705 of FIG. 7), pressing a start button, selecting a weight, moving the handles 105, etc.

If the machine is activated (block 805), a processor (e.g., the example processor 610 of FIG. 6) determines, if possible, an identity of the user from any identifying information (e.g., an RFID tag in a membership card) (block 810). If the user is identified (block 812), the processor obtains target exercise parameters for the user from an exercise routine server (e.g., the example server 130 of FIG. 1) (block 815) and then obtains information regarding the identified user's next exercise set (e.g., target number of repetitions) (block 820) and control proceeds to block 824. If a user is not identified (block 812), the processor displays a message such as, for example, “Workout will not be tracked” on a display (e.g., the display 640 of FIG. 7) at the exercise machine (block 822)

At block 824, the processor initializes the current number of sets and/or repetitions completed to zero and displays current exercise parameters (e.g., repetitions=0) and any target next set exercise parameters (if any) on the display. The processor then starts a count down timer (block 826). The duration of the count down timer represents a maximum time period between exercise sets and may be a preset, exerciser specific and/or user configurable time period.

Based upon outputs of a sensor array, the processor determines if any of the sensors corresponding to a resting position of a weight plate or movable member is inactive (i.e., deactivated) (block 830). If a sensor corresponding to a resting position (e.g., the sensor 320 of FIG. 5A) is deactivated by, for example, an adjacent space or gap between a selected set of weight plates and the remainder of the weight stack (block 830), the processor determines the selected exercise weight based upon the lowest inactive resting sensor (block 835). For example, the processor can use a table lookup that correlates deactivated resting sensors with exercise weights. The processor displays the exercise weight on the display (block 840). The processor then tracks movement of the exercise machine by, for example, carrying out the example process of FIG. 9 (block 850). When exercising ends and/or pauses (e.g., when the process of FIG. 9 returns), the processor sends any determined exercise parameters for the set to the server (block 855). If a user was identified (block 860), control returns to block 815 obtain next set information for the identified user. If a user was not identified (block 860), control returns to block 824.

Returning to block 830, if a resting sensor has not become deactivated, the processor determines if the countdown timer has expired (block 865). If the countdown timer has not expired (block 865), control returns to block 830 to check if a resting sensor has become inactive. If the countdown timer has expired (block 865), the exercise session is ended.

The example process of FIG. 9 begins with a processor (e.g., the example processor 610 of FIG. 6) starting a set timer (block 902) and determining if a sensor has become activated as compared to a previous time instant (block 905). If a sensor has not become activated as compared to a previous time instant (block 905), the processor determines if the set timer has expired (block 907). If the set timer has not expired (block 907), control returns to block 905 to check if a sensor has become activated as compared to a previous time instant. If the set timer has expired (block 907), control returns from the example process of FIG. 9 to, for example, the example process of FIG. 8.

Returning to block 905, if relative to a previous time instant a sensor has been activated (e.g., the example sensor 507 of FIG. 5A), the processor displays the new exercise position on a display (e.g., the example range of motion display 715 of FIG. 7) (block 910). The processor then determines if the activated sensor indicates the movement is upward or downward (block 915). If the movement is upward (block 915), control returns to block 902 to restart the set timer.

If the movement is downward (block 915), the processor increments and displays the number of repetitions on the display (e.g., the example repetitions display 720 of FIG. 7) (block 920). The processor then waits for a sensor to be activated as compared to a previous time instant (block 925). If relative to a previous time instant a sensor has not been activated (block 925), the processor continues waiting (block 925). If relative to a previous time instant a sensor has been activated (block 925), the processor displays the new exercise position on the display (block 930). The processor then determines if the weight stack has returned to the resting position (block 935). If the weight stack is not in the resting position (block 935), control returns to block 925 to determine if a sensor has been activated as compared to a previous time instant. If the weight stack is in the resting position (block 935), the processor determines if the newly activated sensor indicates the movement is upward or downward (block 940). If the movement is downward (block 940), control returns to block 902 to restart the set timer. If the movement is upward (block 940), the processor displays the new exercise position on the display (block 945). Control then returns to block 902 to restart the set timer.

Although certain example methods, apparatus and articles of manufacture have been described herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus and articles of manufacture fairly falling within the scope of the appended claims either literally or under the doctrine of equivalents. 

1. A method comprising: receiving outputs from an array of sensors each of which is configured to detect a position of a portion of an exercise machine; and determining at the exercise machine an exercise range of motion based on the sensor outputs.
 2. A method as defined in claim 1, further comprising displaying the determined exercise range of motion at the exercise machine.
 3. A method as defined in claim 1, further comprising determining at least one of a weight lifted, a number of sets, or a number of repetitions based on the sensor outputs.
 4. A method as defined in claim 3, wherein determining the weight lifted comprises: detecting a lowest deactivated sensor; and using the lowest deactivated sensor to determine the weight lifted.
 5. A method as defined in claim 1, wherein determining the exercise range of motion comprises: detecting at least one of a highest activated sensor or a highest activated group of sensors; and using the at least one of the highest activated sensor or the highest activated group of sensors to determine the range of motion.
 6. A method as defined in claim 1, further comprising: identifying a user; obtaining an exercise program for the identified user from a remote server; and displaying at least one element of the exercise program and an exercise parameter determined based on the sensor outputs on a display at the exercise machine.
 7. A method as defined in claim 6, further comprising providing the determined exercise parameter to the remote server.
 8. A method as defined in claim 6, wherein the determined exercise parameter is at least one of the exercise range of motion, a weight lifted, a number of sets, or a number of repetitions.
 9. A method as defined in claim 1, wherein each of the sensors of the array of sensors provides a first output signal when a metal object is proximate to the sensor and a second output signal when the metal object is not proximate to the sensor.
 10. A method as defined in claim 9, wherein the metal object is at least one of weight plate, a movable member of the exercise machine or a magnet.
 11. An article of manufacture storing machine readable instructions which, when executed, cause a machine to: receive outputs from an array of sensors each of which is configured to detect a position of a portion of an exercise machine; and determine at the exercise machine an exercise range of motion based on the sensor outputs.
 12. An article of manufacture as defined in claim 11, wherein the machine readable instructions, when executed, cause the machine to display the exercise range of motion at the exercise machine.
 13. An article of manufacture as defined in claim 11, wherein the machine readable instructions, when executed, cause the machine to determine at least one of a weight lifted, a number of sets, or a number of repetitions based on the sensor outputs.
 14. An article of manufacture as defined in claim 13, wherein the machine readable instructions, when executed, cause the machine to: detect a lowest deactivated sensor; and use the lowest deactivated sensor to determine the weight lifted.
 15. An article of manufacture as defined in claim 11, wherein the machine readable instructions, when executed, cause the machine to: detect at least one of a highest activated sensor or a highest activated group of sensors; and use the at least one of the highest activated sensor or the highest activated group of sensors to determine the exercise range of motion.
 16. An article of manufacture as defined in claim 11, wherein the machine readable instructions, when executed, cause the machine to: identifying a user; obtaining an exercise program for the identified user from a remote server; and displaying at least one element of the exercise program and an exercise parameter determined based on the sensor output on a display at the exercise machine.
 17. An article of manufacture as defined in claim 16, wherein the machine readable instructions, when executed, cause the machine to provide the determined exercise parameter to the remote server.
 18. An article of manufacture as defined in claim 16, wherein the determined exercise parameter is at least one of the exercise range of motion, a weight lifted, a number of sets, or a number of repetitions.
 19. An article of manufacture as defined in claim 11, wherein each of the sensors of the array of sensors provides a first output signal when a metal object is proximate to the sensor and a second output signal when the metal object is not proximate to the sensor.
 20. An apparatus comprising: an exercise device; a sensor array to provide sensor outputs, sensors of the sensor array to detect a position of a portion of an exercise device; and a processor at the exercise device to determine an exercise range of motion based on the sensor array outputs.
 21. An apparatus as defined in claim 20, wherein the processor is to determine at least one of a weight lifted, a number of sets, or a number of repetitions based on the sensor array outputs.
 22. An apparatus as defined in claim 20, further comprising an interface at the exercise device to identify a person.
 23. An apparatus as defined in claim 20, further comprising a network interface at the exercise device to obtain an exercise routine for the identified person for the exercise machine from a remote server.
 24. An apparatus as defined in claim 20, further comprising a network interface at the exercise device to provide an exercise parameter determined from the sensor outputs to a remote server.
 25. An apparatus as defined in claim 24, wherein the determined exercise parameter is at least one of the exercise range of motion, a weight lifted, a number of sets, or a number of repetitions.
 26. An apparatus as defined in claim 20, further comprising a display at the exercise device to display the exercise range of motion determined from the sensor array outputs.
 27. An apparatus as defined in claim 20, wherein the sensors provide a first output signal when at least one of a metal object or a magnet is proximate to the sensor and a second output signal when the metal object or the magnet is not proximate to the sensor.
 28. An apparatus as defined in claim 20, further comprising: a printed circuit board to hold the sensors; and a housing to hold the printed circuit board, wherein the housing is mounted to the exercise device to position the array of sensors relative to a movement of a portion of the exercise device.
 29. An apparatus as defined in claim 20, further comprising a magnet mounted to a movable member of the exercise device, the sensors to detect if the magnet is nearby. 